/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package oogenda.util;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import oogenda.entidade.Agenda;
import oogenda.entidade.Data;
import oogenda.entidade.Dia;
import oogenda.entidade.Especialidade;
import oogenda.entidade.Exame;
import oogenda.entidade.Medico;
import oogenda.entidade.Paciente;

/**
 *
 * @author Pablo
 */
public class DadosObjetos {

    public static List<Medico> medicos;
    public static List<Agenda> agendas;
    public static List<Paciente> pacientes;
    public static List<Exame> exames;
    public static List<Especialidade> especialidades;
    public static List<Data> datas;
    public static List<Dia> dias;

    public static List<Data> datasExame;
    public static List<Dia> diasExame;
    private DadosObjetos() {
        
    }

    public static void inicializarPacientes() {
        pacientes = new ArrayList<Paciente>();
        String[] listaNomes = new String[] {"Lucas", "Pedro", "João", "Marcio", "José", "Carlos", "Eduardo"};        
        for(int i = 0; i < 7; i++) {
            Paciente paciente  = new Paciente();
            paciente.setId(pacientes.size() + 1);
            paciente.setCpf((i+1)*4000000 + "aaa");
            paciente.setDataNascimento("10/0"+ i+1+ "/199"+i);
            paciente.setEndereco("Rua Alpha, numero "+(i*i)+1);
            paciente.setIdentidade("MG9898989"+i);
            paciente.setNome(listaNomes[i]);
            paciente.setTelefone("5555-555"+i);
            pacientes.add(paciente);
        }

    }

    public static void inicializarMedicos() {
        
        medicos = new ArrayList<Medico>();
        for(int i = 0; i < 10; i++) {
            Medico medico  = new Medico();
            medico.setId(i + 1);
            medico.setDataNascimento("10/11/2000");
            medico.setEndereco("Rua Alpha");
            medico.setNome("Medico-" + i);
            medico.setTelefone("555-5555");
            medico.setEspecialidade(DadosObjetos.especialidades.get(i%5));
            medico.setData(datas);
            medicos.add(medico);
        }
    }

    public static void inicializarExames() {
        exames = new ArrayList<Exame>();
        String[] listaNomes = new String[] {"Tomografia", "Raio X", "Eletrocardiograma", "Sangue"};
        for (int i = 0; i < 4; i++) {
            Exame exame = new Exame();
            exame.setId(i+1);
            exame.setM_RealizacaoExame(null);
            exame.setNome(listaNomes[i]);
            exame.setData(datasExame);
            exames.add(exame);
        }
    }
    
    public static void inicializarEspecialidades() {
        especialidades = new ArrayList<Especialidade>();
        String[] listaNomes = new String[] {"Clínico Geral", "Dermatólogo", "Cardiólogo", "Psiquiatra", "Neumólogo"};
        for (int i = 0; i < 5; i++) {
            Especialidade especialidade = new Especialidade();
            especialidade.setNome(listaNomes[i]);
            especialidades.add(especialidade);
        }
    }

    /**
     * Seta as datas que disponíveis para Médico e Exame.
     * Os campos setados são dia, mês e ano.
     */
    public static void inicializarDatas() {
        datas = new ArrayList<Data>();
        int numAux = 0;
        for (int i = 0; i < 60; i++) {
            if((i%5) == 0)
                numAux = 0;
            else
                numAux++;
            Data data = new Data();
            
            data.setDia((numAux*5)+5);
            
            data.setMes((i/5)+1);
            data.setAno(2012);
            data.setHorasDia(dias);
            datas.add(data);
        }
    }

    public static void inicializarDias() {
        dias = new ArrayList<Dia>();
        int numAux = 7;
        for (int i = 0; i < 16; i++) {
            if(i == 8) numAux = 14;
            else if(i%2 == 0) numAux++;
            
            Dia dia = new Dia();
            dia.setHora(numAux);
            if(i%2 == 0)
                dia.setMinuto(0);
            else
                dia.setMinuto(30);
            dias.add(dia);
        }
    }
    
        public static void inicializarDatasExame() {
        datasExame = new ArrayList<Data>();
        for (int i = 0; i < 10; i+=2) {
            Data data = new Data();            
            data.setDia(i+1);
            data.setMes(12);
            data.setAno(2012);
            data.setHorasDia(diasExame);
            datasExame.add(data);
        }
    }
        
     public static void inicializarDiasExame() {
        diasExame = new ArrayList<Dia>();
        for (int i = 10; i < 15; i++) {
            Dia dia = new Dia();
            dia.setHora(i);
            dia.setMinuto(30);
            diasExame.add(dia);
        }
    }
}
